<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.7.1/jquery.js"></script>
</head>

<body>

</body>
<script>
    // console.log($);
    // promise解决的问题 （回调地狱）回调函数层层嵌套
    // $.ajax({
    //     url: 'https://wkt.myhope365.com/weChat/applet/course/banner/list?number=5',
    //     type: 'GET',
    //     // data: {},
    //     // 设置请求头
    //     // contentType: '',
    //     success(res) {
    //         console.log(res.data[0].id);
    //         $.ajax({
    //             url: `https://wkt.myhope365.com/weChat/applet/course/banner/list?number=${res.data[0].id}`,
    //             type: 'GET',
    //             // data: {},
    //             // 设置请求头
    //             // contentType: '',
    //             success(res) {
    //                 console.log(res.data[0].id);
    //                 $.ajax({
    //                     url: `https://wkt.myhope365.com/weChat/applet/course/banner/list?number=${res.data[0].id}`,
    //                     type: 'GET',
    //                     // data: {},
    //                     // 设置请求头
    //                     // contentType: '',
    //                     success(res) {
    //                         console.log(res.data[0].id);
    //                     },
    //                     // error() {

    //                     // }
    //                 })
    //             },
    //             // error() {

    //             // }
    //         })
    //     },
    //     // error() {

    //     // }
    // })
</script>
<script>
    console.log(1);
    // 声明promise对象 (回调函数) （重点）
    let pro = new Promise((resolve, reject) => {

        console.log(resolve);
        console.log(reject);
        // 成功之后执行 resolve()
        // 失败之后执行 reject()
        // promise的三种状态
        // pending：等待中 初始化
        // fulfilled 成功
        // rejected 失败
        // pending ==> fulfilled pending ==> rejected (不可逆转的)

        $.ajax({
            url: 'https://wkt.myhope365.com/weChat/applet/course/banner/list?number=5',
            success(res) {
                resolve(res)
            }
        })
        // resolve('成功了')
        // reject('失败了')
    })

    console.log(pro);
    // 执行resolve时
    // pro.then(res => {
    //     console.log(res);
    // })
    // // 执行reject时
    // pro.catch(error => {
    //     console.log(error);
    // })
    // 链式调用 
    // 下一个then方法的参数是上一个then的返回值
    pro.then(res => {
        console.log(2);
        console.log(res);
        return res.data[0].id
    }).then(res_1 => {
        console.log(res_1);
    }).catch(error => {
        console.log(error);
    })

    console.log(3);
</script>

</html>